namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// As the amount of records increases, the time required for the browser to render
	/// them increases. Paging is used to reduce the amount of data exchanged with the client.
	/// Note: if there are more records/rows than can be viewed in the available screen area, vertical
	/// scrollbars will be added.  Paging is typically handled on the server side (see exception below). The client sends
	/// parameters to the server side, which the server needs to interpret and then respond with the
	/// approprate data.  Ext.PagingToolbar is a specialized toolbar that is bound to a {@link Ext.data.Store}
	/// and provides automatic paging control. This Component {@link Ext.data.Store#load load}s blocks
	/// of data into the {@link #store} by passing {@link Ext.data.Store#paramNames paramNames} used for
	/// paging criteria.  PagingToolbar is typically used as one of the Grid&apos;s toolbars:  
	/// Ext.QuickTips.init(); // to display button quicktips
	///
	/// var myStore = new Ext.data.Store({
	/// reader: new Ext.data.JsonReader({
	/// {@link...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;As the amount of records increases, the time required for the browser to render
	/// them increases. Paging is used to reduce the amount of data exchanged with the client.
	/// Note: if there are more records/rows than can be viewed in the available screen area, vertical
	/// scrollbars will be added.&lt;/p&gt;
	/// &lt;p&gt;Paging is typically handled on the server side (see exception below). The client sends
	/// parameters to the server side, which the server needs to interpret and then respond with the
	/// approprate data.&lt;/p&gt;
	/// &lt;p&gt;&lt;b&gt;Ext.PagingToolbar&lt;/b&gt; is a specialized toolbar that is bound to a {@link Ext.data.Store}
	/// and provides automatic paging control. This Component {@link Ext.data.Store#load load}s blocks
	/// of data into the &lt;tt&gt;{@link #store}&lt;/tt&gt; by passing {@link Ext.data.Store#paramNames paramNames} used for
	/// paging criteria.&lt;/p&gt;
	/// &lt;p&gt;PagingToolbar is typically used as one of the Grid&apos;s toolbars:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// Ext.QuickTips.init(); // to display button quicktips
	///
	/// var myStore = new Ext.data.Store({
	/// reader: new Ext.data.JsonReader({
	/// {@link Ext.data.JsonReader#totalProperty totalProperty}: &apos;results&apos;,
	/// ...
	/// }),
	/// ...
	/// });
	///
	/// var myPageSize = 25; // server script should only send back 25 items at a time
	///
	/// var grid = new Ext.grid.GridPanel({
	/// ...
	/// store: myStore,
	/// bbar: new Ext.PagingToolbar({
	/// {@link #store}: myStore, // grid and PagingToolbar using same store
	/// {@link #displayInfo}: true,
	/// {@link #pageSize}: myPageSize,
	/// {@link #prependButtons}: true,
	/// items: [
	/// &apos;text 1&apos;
	/// ]
	/// })
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	///
	/// &lt;p&gt;To use paging, pass the paging requirements to the server when the store is first loaded.&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// store.load({
	/// params: {
	/// // specify params for the first page load if using paging
	/// start: 0,
	/// limit: myPageSize,
	/// // other params
	/// foo: &apos;bar&apos;
	/// }
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	///
	/// &lt;p&gt;If using {@link Ext.data.Store#autoLoad store&apos;s autoLoad} configuration:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// var myStore = new Ext.data.Store({
	/// {@link Ext.data.Store#autoLoad autoLoad}: {params:{start: 0, limit: 25}},
	/// ...
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	///
	/// &lt;p&gt;The packet sent back from the server would have this form:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// {
	/// &quot;success&quot;: true,
	/// &quot;results&quot;: 2000,
	/// &quot;rows&quot;: [ // &lt;b&gt;*Note:&lt;/b&gt; this must be an Array
	/// { &quot;id&quot;: 1, &quot;name&quot;: &quot;Bill&quot;, &quot;occupation&quot;: &quot;Gardener&quot; },
	/// { &quot;id&quot;: 2, &quot;name&quot;: &quot;Ben&quot;, &quot;occupation&quot;: &quot;Horticulturalist&quot; },
	/// ...
	/// { &quot;id&quot;: 25, &quot;name&quot;: &quot;Sue&quot;, &quot;occupation&quot;: &quot;Botanist&quot; }
	/// ]
	/// }
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;p&gt;&lt;u&gt;Paging with Local Data&lt;/u&gt;&lt;/p&gt;
	/// &lt;p&gt;Paging can also be accomplished with local data using extensions:&lt;/p&gt;
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;a href=&quot;http://extjs.com/forum/showthread.php?t=71532&quot;&gt;Ext.ux.data.PagingStore&lt;/a&gt;&lt;/li&gt;
	/// &lt;li&gt;Paging Memory Proxy (examples/ux/PagingMemoryProxy.js)&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\PagingToolbar.js</definedin>
	[ScriptName("PagingToolbar")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class PagingToolbar : ext.Toolbar
	{
		
		#region Constructors
		public PagingToolbar(ext.PagingToolbar_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public PagingToolbar()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>The {@link Ext.data.Store} the paging toolbar should use as its data source (required).</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("store")]
		public ext.data.Store Store;
		
		/// <summary>true to display the displayMsg (defaults to false)</summary>
		/// <htmlSummary>&lt;tt&gt;true&lt;/tt&gt; to display the displayMsg (defaults to &lt;tt&gt;false&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("displayInfo")]
		public bool DisplayInfo;
		
		/// <summary>The number of records to display per page (defaults to 20)</summary>
		/// <htmlSummary>The number of records to display per page (defaults to &lt;tt&gt;20&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("pageSize")]
		public System.Number PageSize;
		
		/// <summary>
		/// true to insert any configured itemsbefore the paging buttons.
		/// Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to insert any configured &lt;tt&gt;items&lt;/tt&gt; &lt;i&gt;before&lt;/i&gt; the paging buttons.
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("prependButtons")]
		public bool PrependButtons;
		
		/// <summary>
		/// The paging status message to display (defaults to &apos;Displaying {0} - {1} of {2}&apos;).
		/// Note that this string is formatted using the braced numbers {0}-{2} as tokens
		/// that are replaced by the values for start, end and total respectively. These tokens should
		/// be preserved when overriding this string if showing those values is desired.
		/// </summary>
		/// <htmlSummary>
		/// The paging status message to display (defaults to &lt;tt&gt;&apos;Displaying {0} - {1} of {2}&apos;&lt;/tt&gt;).
		/// Note that this string is formatted using the braced numbers &lt;tt&gt;{0}-{2}&lt;/tt&gt; as tokens
		/// that are replaced by the values for start, end and total respectively. These tokens should
		/// be preserved when overriding this string if showing those values is desired.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("displayMsg")]
		public string DisplayMsg;
		
		/// <summary>The message to display when no records are found (defaults to &apos;No data to display&apos;)</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("emptyMsg")]
		public string EmptyMsg;
		
		/// <summary>The text displayed before the input item (defaults to &apos;Page&apos;).</summary>
		/// <htmlSummary>The text displayed before the input item (defaults to &lt;tt&gt;&apos;Page&apos;&lt;/tt&gt;).</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("beforePageText")]
		public string BeforePageText;
		
		/// <summary>
		/// Customizable piece of the default paging text (defaults to &apos;of {0}&apos;). Note that
		/// this string is formatted using {0} as a token that is replaced by the number of
		/// total pages. This token should be preserved when overriding this string if showing the
		/// total page count is desired.
		/// </summary>
		/// <htmlSummary>
		/// Customizable piece of the default paging text (defaults to &lt;tt&gt;&apos;of {0}&apos;&lt;/tt&gt;). Note that
		/// this string is formatted using &lt;tt&gt;{0}&lt;/tt&gt; as a token that is replaced by the number of
		/// total pages. This token should be preserved when overriding this string if showing the
		/// total page count is desired.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("afterPageText")]
		public string AfterPageText;
		
		/// <summary>
		/// The quicktip text displayed for the first page button (defaults to &apos;First Page&apos;).
		/// Note: quick tips must be initialized for the quicktip to show.
		/// </summary>
		/// <htmlSummary>
		/// The quicktip text displayed for the first page button (defaults to &lt;tt&gt;&apos;First Page&apos;&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: quick tips must be initialized for the quicktip to show.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("firstText")]
		public string FirstText;
		
		/// <summary>
		/// The quicktip text displayed for the previous page button (defaults to &apos;Previous Page&apos;).
		/// Note: quick tips must be initialized for the quicktip to show.
		/// </summary>
		/// <htmlSummary>
		/// The quicktip text displayed for the previous page button (defaults to &lt;tt&gt;&apos;Previous Page&apos;&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: quick tips must be initialized for the quicktip to show.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("prevText")]
		public string PrevText;
		
		/// <summary>
		/// The quicktip text displayed for the next page button (defaults to &apos;Next Page&apos;).
		/// Note: quick tips must be initialized for the quicktip to show.
		/// </summary>
		/// <htmlSummary>
		/// The quicktip text displayed for the next page button (defaults to &lt;tt&gt;&apos;Next Page&apos;&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: quick tips must be initialized for the quicktip to show.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("nextText")]
		public string NextText;
		
		/// <summary>
		/// The quicktip text displayed for the last page button (defaults to &apos;Last Page&apos;).
		/// Note: quick tips must be initialized for the quicktip to show.
		/// </summary>
		/// <htmlSummary>
		/// The quicktip text displayed for the last page button (defaults to &lt;tt&gt;&apos;Last Page&apos;&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: quick tips must be initialized for the quicktip to show.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("lastText")]
		public string LastText;
		
		/// <summary>
		/// The quicktip text displayed for the Refresh button (defaults to &apos;Refresh&apos;).
		/// Note: quick tips must be initialized for the quicktip to show.
		/// </summary>
		/// <htmlSummary>
		/// The quicktip text displayed for the Refresh button (defaults to &lt;tt&gt;&apos;Refresh&apos;&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: quick tips must be initialized for the quicktip to show.
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("refreshText")]
		public string RefreshText;
		
		/// <summary>Fires after the active page has been changed.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("changeEventName")]
		public const string ChangeEventName = "change";
		
		/// <summary>
		/// Fires just before the active page is changed.
		/// Return false to prevent the active page from being changed.
		/// </summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("beforechangeEventName")]
		public const string BeforechangeEventName = "beforechange";
		#endregion
		
		#region Properties
		/// <summary>
		/// Deprecated. paramNames should be set in the data store
		/// (see {@link Ext.data.Store#paramNames}).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Deprecated&lt;/b&gt;. &lt;code&gt;paramNames&lt;/code&gt; should be set in the &lt;b&gt;data store&lt;/b&gt;
		/// (see {@link Ext.data.Store#paramNames}).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;Object mapping of parameter names used for load calls, initially set to:&lt;/p&gt;
		/// &lt;pre&gt;{start: &apos;start&apos;, limit: &apos;limit&apos;}&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <deprecated>Deprecated</deprecated>
		[ScriptName("paramNames")]
		[IntrinsicProperty()]
		public object ParamNames
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The number of records to display per page. See also {@link #cursor}.</summary>
		/// <htmlSummary>The number of records to display per page. See also &lt;tt&gt;{@link #cursor}&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("pageSize")]
		[IntrinsicProperty()]
		public System.Number PageSizeProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// Indicator for the record position. This property might be used to get the active page
		/// number for example: 
		/// // t is reference to the paging toolbar instance
		/// var activePage = Math.ceil((t.cursor + t.pageSize) / t.pageSize);
		/// </summary>
		/// <htmlSummary>
		/// Indicator for the record position. This property might be used to get the active page
		/// number for example:&lt;pre&gt;&lt;code&gt;
		/// // t is reference to the paging toolbar instance
		/// var activePage = Math.ceil((t.cursor + t.pageSize) / t.pageSize);
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("cursor")]
		[IntrinsicProperty()]
		public System.Number Cursor
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Change the active page</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <param name="page">The page to display</param>
		[ScriptName("changePage")]
		public void ChangePage(int page)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Move to the first page, has the same effect as clicking the &apos;first&apos; button.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("moveFirst")]
		public void MoveFirst()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Move to the previous page, has the same effect as clicking the &apos;previous&apos; button.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("movePrevious")]
		public void MovePrevious()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Move to the next page, has the same effect as clicking the &apos;next&apos; button.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("moveNext")]
		public void MoveNext()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Move to the last page, has the same effect as clicking the &apos;last&apos; button.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("moveLast")]
		public void MoveLast()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Refresh the current page, has the same effect as clicking the &apos;refresh&apos; button.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("doRefresh")]
		public void DoRefresh()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Unbinds the paging toolbar from the specified {@link Ext.data.Store} (deprecated)</summary>
		/// <htmlSummary>Unbinds the paging toolbar from the specified {@link Ext.data.Store} &lt;b&gt;(deprecated)&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <param name="store">The data store to unbind</param>
		[ScriptName("unbind")]
		public void Unbind(ext.data.Store store)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Binds the paging toolbar to the specified {@link Ext.data.Store} (deprecated)</summary>
		/// <htmlSummary>Binds the paging toolbar to the specified {@link Ext.data.Store} &lt;b&gt;(deprecated)&lt;/b&gt;</htmlSummary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <param name="store">The data store to bind</param>
		[ScriptName("bind")]
		public void Bind(ext.data.Store store)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Binds the paging toolbar to the specified {@link Ext.data.Store}</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <param name="store">The store to bind to this toolbar</param>
		/// <param name="initial">true to not remove listeners</param>
		[ScriptName("bindStore")]
		public void BindStore(ext.data.Store store, bool initial)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Binds the paging toolbar to the specified {@link Ext.data.Store}</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		/// <param name="store">The store to bind to this toolbar</param>
		[ScriptName("bindStore")]
		public void BindStore(ext.data.Store store)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires after the active page has been changed.</summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("change")]
		public event ext.auto.Delegate_ext_PagingToolbar_And_System_Object Change;
		
		/// <summary>
		/// Fires just before the active page is changed.
		/// Return false to prevent the active page from being changed.
		/// </summary>
		/// <definedin>src\widgets\PagingToolbar.js</definedin>
		[ScriptName("beforechange")]
		public event ext.auto.Delegate_ext_PagingToolbar_And_System_Object Beforechange;
		#endregion
	}
}
